home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Navigation.a < prev    next >
Text File  |  1996-05-01  |  6KB  |  182 lines

  1. ;
  2. ;    File:        Navigation.a
  3. ;
  4. ;    Contains:    Navigation Services Interfaces
  5. ;
  6. ;    Version:    Technology:    System 8
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__NAVIGATION__') = 'UNDEFINED' THEN
  19. __NAVIGATION__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
  25.     include 'AppleEvents.a'
  26.     ENDIF
  27.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  28.     include 'Files.a'
  29.     ENDIF
  30.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  31.     include 'Events.a'
  32.     ENDIF
  33.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  34.     include 'MixedMode.a'
  35.     ENDIF
  36.     IF &TYPE('__SCRIPT__') = 'UNDEFINED' THEN
  37.     include 'Script.a'
  38.     ENDIF
  39.     IF &TYPE('__TEXTOBJECTS__') = 'UNDEFINED' THEN
  40.     include 'TextObjects.a'
  41.     ENDIF
  42.     IF &TYPE('__TIMEOBJECTS__') = 'UNDEFINED' THEN
  43.     include 'TimeObjects.a'
  44.     ENDIF
  45.     IF FOR_SYSTEM8_COOPERATIVE THEN
  46.     IF FOR_PTR_BASED_AE THEN
  47.  
  48. gestaltNavigationServicesAttr    EQU        'nvsv'
  49. gestaltNavigationServicesPresent EQU    0
  50. ;  Values for the "action" parameter of NavAskSaveChanges 
  51.  
  52. kNavSaveChangesClosingDocument    EQU        1                    ; Closing a document 
  53. kNavSaveChangesQuittingApplication EQU    2                    ; Quitting the app 
  54. kNavSaveChangesOther            EQU        0                    ; Neither closing nor quitting 
  55. ; typedef UInt16                         NavAskSaveChangesAction
  56.  
  57. ;  NavFileInfo is the part of NavFileOrFolderInfo for files 
  58. NavFileInfo                RECORD 0
  59. locked                     ds.b    1                ; offset: $0 (0)
  60. resourceOpen             ds.b    1                ; offset: $1 (1)
  61. dataOpen                 ds.b    1                ; offset: $2 (2)
  62. reserved                 ds.b    1                ; offset: $3 (3)
  63. dataSize                 ds.l    1                ; offset: $4 (4)
  64. resourceSize             ds.l    1                ; offset: $8 (8)
  65. finderInfo                 ds        FInfo            ; offset: $C (12)
  66. moreFinderInfo             ds        FXInfo            ; offset: $1C (28)
  67. sizeof                     EQU *                    ; size:   $2C (44)
  68.                         ENDR
  69. ;  NavFolderInfo is the part of NavFileOrFolderInfo for folders and volumes 
  70. NavFolderInfo            RECORD 0
  71. shareable                 ds.b    1                ; offset: $0 (0)
  72. sharePoint                 ds.b    1                ; offset: $1 (1)
  73. mounted                     ds.b    1                ; offset: $2 (2)
  74. readable                 ds.b    1                ; offset: $3 (3)
  75. writeable                 ds.b    1                ; offset: $4 (4)
  76. reserved                 ds.b    1                ; offset: $5 (5)
  77. numberOfFiles             ds.l    1                ; offset: $6 (6)
  78. finderInfo                 ds        DInfo            ; offset: $A (10)
  79. moreFinderInfo             ds        DXInfo            ; offset: $1A (26)
  80. sizeof                     EQU *                    ; size:   $2A (42)
  81.                         ENDR
  82. ;  NavFileOrFolderInfo is the structure passed to your filter proc for typeFSS AEDescs 
  83. NavFileOrFolderInfo        RECORD 0
  84. isFolder                 ds.b    1                ; offset: $0 (0)
  85. visible                     ds.b    1                ; offset: $1 (1)
  86. creationDate             ds        TimeObject        ; offset: $2 (2)
  87. modificationDate         ds        TimeObject        ; offset: $12 (18)
  88. fileInfo                 ds        NavFileInfo        ; offset: $22 (34)
  89.                          ORG 34
  90. folderInfo                 ds        NavFolderInfo    ; offset: $22 (34)
  91.                          ORG 78
  92. sizeof                     EQU *                    ; size:   $4E (78)
  93.                         ENDR
  94. NavDialogOptions        RECORD 0
  95. location                 ds        Point            ; offset: $0 (0)        ;  Top-left of the dialog, or (-1, -1) for default position 
  96. banner                     ds.l    1                ; offset: $4 (4)        ;  Optional banner text displayed in the dialog 
  97. defaultButtonLabel         ds.l    1                ; offset: $8 (8)        ;  Label of the default button (or null string for default) 
  98. customPanel                 ds.l    1                ; offset: $C (12)        ;  Custom SOM panel to be inserted, if any 
  99. sizeof                     EQU *                    ; size:   $10 (16)
  100.                         ENDR
  101. NavReplyRecord            RECORD 0
  102. validRecord                 ds.b    1                ; offset: $0 (0)        ;  True if the user confirmed the selection, false on cancel 
  103. replacing                 ds.b    1                ; offset: $1 (1)        ;  True if we are overwriting an existing object (put only) 
  104. selection                 ds        AEDesc            ; offset: $2 (2)        ;  AppleEvent descriptor of the selected object 
  105. sizeof                     EQU *                    ; size:   $A (10)
  106.                         ENDR
  107. ;  return values from NavAskSaveChanges, NavCustomAskSaveChanges 
  108.  
  109. askSaveChangesSave                EQU        1
  110. askSaveChangesCancel            EQU        2
  111. askSaveChangesDontSave            EQU        3
  112. ; typedef UInt16                         NavAskSaveChangesResult
  113.  
  114. ;
  115. ; To specify which types of data you are willing to receive, use the NavTypeList.
  116. ; *
  117. ; * This is not a list of file types; that must be specified in an 'open' resource
  118. ; * if you are displaying files, or you can use a filter procedure. It is a list of
  119. ; * AEDesc types. Only items which can be coerced to these descriptor types will be
  120. ; * displayed in the list, descended into as containers, or returned in a reply.
  121. ; * The list is terminated by a null entry and may be of any length.  At present
  122. ; * only typeFSS and typeAlias are supported.
  123. ; *
  124. ; * If you include typeAlias in the list, then aliases of all types will be allowed,
  125. ; * and aliases will not be resolved before they are given to you. Otherwise, aliases
  126. ; * will be resolved internally and you will be passed their resolved AEDescs if
  127. ; * they can be coerced into one of the types you want.
  128. ;
  129. NavTypeList                RECORD 0
  130. elements                 ds.l    4
  131. sizeof                     EQU *                    ; size:   $10 (16)
  132.                         ENDR
  133.  
  134.  
  135. ; typedef const DescType *                ConstNavTypeListPtr
  136.  
  137. ;
  138. ; *    Navigation Services Dialogs
  139. ;
  140. ;
  141. ; pascal OSErr NavAskSaveChanges(ConstTextObject applicationName, ConstTextObject documentName, NavAskSaveChangesAction action, NavAskSaveChangesResult *reply, Point location, NavEventUPP eventProc, void *contextPtr)
  142. ;
  143.     IF GENERATINGCFM THEN
  144.         IMPORT_CFM_FUNCTION NavAskSaveChanges
  145.     ENDIF
  146.  
  147. ;
  148. ; pascal OSErr NavCustomAskSaveChanges(ConstTextObject message, NavAskSaveChangesResult *reply, Point location, NavEventUPP eventProc, void *contextPtr)
  149. ;
  150.     IF GENERATINGCFM THEN
  151.         IMPORT_CFM_FUNCTION NavCustomAskSaveChanges
  152.     ENDIF
  153.  
  154. ;
  155. ; pascal OSErr NavGetObject(const AEDesc *defaultObject, NavReplyRecord *reply, NavDialogOptions *dialogOptions, short openResourceID, ConstNavTypeListPtr typeList, NavObjectFilterUPP filterProc, NavEventUPP eventProc, void *contextPtr)
  156. ;
  157.     IF GENERATINGCFM THEN
  158.         IMPORT_CFM_FUNCTION NavGetObject
  159.     ENDIF
  160.  
  161. ;
  162. ; pascal OSErr NavPutObject(const AEDesc *defaultObject, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, void *contextPtr)
  163. ;
  164.     IF GENERATINGCFM THEN
  165.         IMPORT_CFM_FUNCTION NavPutObject
  166.     ENDIF
  167.  
  168. ;
  169. ; * Generating unique file names
  170. ;
  171. ;
  172. ; extern OSErr MakeUniqueNameInFolder(FSSpec *folder, TextObject *name)
  173. ;
  174.     IF GENERATINGCFM THEN
  175.         IMPORT_CFM_FUNCTION MakeUniqueNameInFolder
  176.     ENDIF
  177.  
  178.     ENDIF
  179.     ENDIF
  180.     ENDIF ; __NAVIGATION__ 
  181.  
  182.